home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / stdio / buffer < prev    next >
Text File  |  1991-11-21  |  9KB  |  174 lines

  1. StdioFileCloseProc.c:    if ((stream->buffer != stdioTempBuffer)
  2. StdioFileCloseProc.c:        && (stream->buffer != stdioStderrBuffer)
  3. StdioFileCloseProc.c:        && (stream->buffer != NULL)
  4. StdioFileCloseProc.c:        && !(stream->flags & STDIO_NOT_OUR_BUF)) {
  5. StdioFileCloseProc.c:    free((char *) stream->buffer);
  6. StdioFileCloseProc.c:    stream->buffer = NULL;
  7. StdioFileCloseProc.c:    stream->bufSize = 0;
  8. StdioFileCloseProc.c:    stream->flags = 0;
  9. StdioFileCloseProc.c:    stream->readCount = stream->writeCount = 0;
  10. StdioFileCloseProc.c:    if (close((int) stream->clientData) != 0) {
  11. StdioFileCloseProc.c:    stream->status = errno;
  12. StdioFileCloseProc.c:        stdioFileStreams = stream->nextPtr;
  13. StdioFileCloseProc.c:            prev->nextPtr = stream->nextPtr;
  14. StdioFileReadProc.c:    if (stream->bufSize == 0) {
  15. StdioFileReadProc.c:    stream->bufSize = BUFSIZ;
  16. StdioFileReadProc.c:    stream->buffer = (unsigned char *) malloc((unsigned) stream->bufSize);
  17. StdioFileReadProc.c:    stream->readCount = read((int) stream->clientData, (char *) stream->buffer,
  18. StdioFileReadProc.c:        stream->bufSize);
  19. StdioFileReadProc.c:    stream->lastAccess = stream->buffer - 1;
  20. StdioFileReadProc.c:    if (stream->readCount <= 0) {
  21. StdioFileReadProc.c:    if (stream->readCount == 0) {
  22. StdioFileReadProc.c:        stream->flags |= STDIO_EOF;
  23. StdioFileReadProc.c:        stream->readCount = 0;
  24. StdioFileReadProc.c:        stream->status = errno;
  25. StdioFileWriteProc.c:    if (stream->bufSize == 0) {
  26. StdioFileWriteProc.c:    stream->bufSize = BUFSIZ;
  27. StdioFileWriteProc.c:        if (isatty((int) stream->clientData)) {
  28. StdioFileWriteProc.c:        stream->flags |= STDIO_LINEBUF;
  29. StdioFileWriteProc.c:        stream->buffer = (unsigned char *) 
  30. StdioFileWriteProc.c:            malloc((unsigned) stream->bufSize);
  31. StdioFileWriteProc.c:        stream->buffer = stdioStderrBuffer;
  32. StdioFileWriteProc.c:        stream->bufSize = 128;
  33. StdioFileWriteProc.c:    stream->lastAccess = stream->buffer;
  34. StdioFileWriteProc.c:    *stream->buffer = stdioTempBuffer[0];
  35. StdioFileWriteProc.c:    count = stream->lastAccess + 1 - stream->buffer;
  36. StdioFileWriteProc.c:    if ((count  == stream->bufSize) || flush) {
  37. StdioFileWriteProc.c:    stream->lastAccess = stream->buffer - 1;
  38. StdioFileWriteProc.c:        written = write((int) stream->clientData, (char *) stream->buffer, 
  39. StdioFileWriteProc.c:        stream->writeCount = 0;
  40. StdioFileWriteProc.c:        stream->status = errno;
  41. StdioFileWriteProc.c:    stream->lastAccess = stream->buffer - 1;
  42. StdioFileWriteProc.c:    stream->writeCount = stream->bufSize;
  43. StdioFileWriteProc.c:    stream->writeCount = stream->bufSize - count;
  44. Stdio_Setup.c:                 * there aren't any stream-dependent actions
  45. Stdio_Setup.c:    stream->lastAccess        = buffer-1;
  46. Stdio_Setup.c:    stream->readCount        = 0;
  47. Stdio_Setup.c:    stream->writeCount        = 0;
  48. Stdio_Setup.c:    stream->buffer        = buffer;
  49. Stdio_Setup.c:    stream->bufSize        = bufferSize;
  50. Stdio_Setup.c:    stream->readProc        = readProc;
  51. Stdio_Setup.c:    stream->writeProc        = writeProc;
  52. Stdio_Setup.c:    stream->closeProc        = closeProc;
  53. Stdio_Setup.c:    stream->clientData        = clientData;
  54. Stdio_Setup.c:    stream->status        = 0;
  55. Stdio_Setup.c:    stream->flags        = 0;
  56. Stdio_Setup.c:    stream->flags |= STDIO_READ;
  57. Stdio_Setup.c:    stream->flags |= STDIO_WRITE;
  58. Stdio_Setup.c:    stream->writeCount = bufferSize;
  59. _cleanup.c:    for (stream = stdioFileStreams; stream != NULL; stream = stream->nextPtr) {
  60. _cleanup.c:    if (!(stream->flags & STDIO_WRITE)) {
  61. clearerr.c:    stream->status = 0;
  62. clearerr.c:    stream->flags &= ~STDIO_EOF;
  63. fclose.c: *    Flush any remaining I/O and perform stream-dependent operations
  64. fclose.c:    if (stream->closeProc == NULL) {
  65. fclose.c:    if ((*stream->closeProc)(stream) == EOF) {
  66. fdopen.c:    if (stream->flags == 0) {
  67. fdopen.c:    stream->nextPtr = stdioFileStreams;
  68. fflush.c:    if (!(stream->flags & STDIO_WRITE) || (stream->writeCount == 0)
  69. fflush.c:        || (stream->lastAccess == (stream->buffer-1))) {
  70. fflush.c:    if (stream->status != 0) {
  71. fflush.c:    (*stream->writeProc)(stream, 1);
  72. fflush.c:    if (stream->status != 0) {
  73. fgetc.c:    if (!(stream->flags & STDIO_READ)) {
  74. fgetc.c:    while (stream->readCount <= 0) {
  75. fgetc.c:    if ((stream->status != 0) || (stream->flags & STDIO_EOF)) {
  76. fgetc.c:    if ((stream->writeCount > 0)
  77. fgetc.c:        && (stream->lastAccess >= stream->buffer)) {
  78. fgetc.c:        (*stream->writeProc)(stream, 1);
  79. fgetc.c:        stream->writeCount = 0;
  80. fgetc.c:    (*stream->readProc)(stream);
  81. fgetc.c:    stream->readCount--;
  82. fgetc.c:    stream->lastAccess++;
  83. fgetc.c:    return *stream->lastAccess;
  84. fileno.c:    if ((stream->readProc != (void (*)()) StdioFileReadProc) ||
  85. fileno.c:    ((stream->flags & (STDIO_READ|STDIO_WRITE)) == 0)) {
  86. fileno.c:    return((int) stream->clientData);
  87. fputc.c:    if ((stream->status != 0) || !(stream->flags & STDIO_WRITE)) {
  88. fputc.c:    if (stream->writeCount == 0) {
  89. fputc.c:    stream->readCount = 0;
  90. fputc.c:    stream->lastAccess = stream->buffer - 1;
  91. fputc.c:    stream->writeCount--;
  92. fputc.c:    stream->lastAccess++;
  93. fputc.c:    *(stream->lastAccess) = c;
  94. fputc.c:    if ((c == '\n') && (stream->flags & STDIO_LINEBUF)) {
  95. fputc.c:    (*stream->writeProc)(stream, 1);
  96. fputc.c:    } else if (stream->writeCount <= 0) {
  97. fputc.c:    (*stream->writeProc)(stream, 0);
  98. fputc.c:    if (stream->status != 0) {
  99. fread.c:            if (stream->readCount>1) {
  100. fread.c:                num = stream->readCount < byteCount ? stream->readCount
  101. fread.c:                bcopy(stream->lastAccess+1, bufferPtr, num);
  102. fread.c:                stream->lastAccess += num;
  103. fread.c:                stream->readCount -= num;
  104. freopen.c:    if (stream->readProc != (void (*)()) StdioFileReadProc) {
  105. freopen.c:    if (stream->flags != 0) {
  106. freopen.c:    id = (int) stream->clientData;
  107. freopen.c:    oldFlags = stream->flags & (STDIO_NOT_OUR_BUF | STDIO_LINEBUF);
  108. freopen.c:    if (stream->flags & STDIO_NOT_OUR_BUF) {
  109. freopen.c:    Stdio_Setup(stream, read, write, stream->buffer, stream->bufSize,
  110. freopen.c:    stream->flags |= oldFlags;
  111. fseek.c:    if ((stream->readProc != (void (*)()) StdioFileReadProc)
  112. fseek.c:        || ((stream->flags & (STDIO_READ|STDIO_WRITE)) == 0)) {
  113. fseek.c:    if (((stream->flags & (STDIO_READ|STDIO_WRITE)) == STDIO_READ) &&
  114. fseek.c:    (base != 2) && stream->readCount > 0) {
  115. fseek.c:    endAddr = lseek((int) stream->clientData, (long) 0, 1);
  116. fseek.c:    curAddr = endAddr - stream->readCount;
  117. fseek.c:    startAddr = curAddr - (stream->lastAccess + 1 - stream->buffer);
  118. fseek.c:        stream->readCount += curAddr - newAddr;
  119. fseek.c:        stream->lastAccess -= curAddr - newAddr;
  120. fseek.c:        stream->flags &= ~STDIO_EOF;
  121. fseek.c:    offset -= stream->readCount;
  122. fseek.c:    stream->readCount = 0;
  123. fseek.c:    stream->writeCount = 0;
  124. fseek.c:    stream->lastAccess = stream->buffer - 1;
  125. fseek.c:    stream->flags &= ~STDIO_EOF;
  126. fseek.c:    if (lseek((int) stream->clientData, (long) offset, base) == -1) {
  127. ftell.c:    if ((stream->readProc != (void (*)()) StdioFileReadProc) ||
  128. ftell.c:    ((stream->flags & (STDIO_READ|STDIO_WRITE)) == 0)) {
  129. ftell.c:    count = lseek((int) stream->clientData, 0L, L_INCR);
  130. ftell.c:    if (stream->writeCount > 0) {
  131. ftell.c:    count += stream->lastAccess + 1 - stream->buffer;
  132. ftell.c:    } else if (stream->readCount > 0) {
  133. ftell.c:    count -= stream->readCount;
  134. fwrite.c:            if (stream->writeCount <=1 || stream->flags & STDIO_LINEBUF) {
  135. fwrite.c:                num = stream->writeCount-1 < byteCount ? stream->writeCount-1
  136. fwrite.c:                bcopy(bufferPtr, stream->lastAccess+1, num);
  137. fwrite.c:                stream->writeCount -= num;
  138. fwrite.c:                stream->lastAccess += num;
  139. setlinebuf.c:    stream->flags |= STDIO_LINEBUF;
  140. setvbuf.c:    if (stream->readProc != (void (*)()) StdioFileReadProc) {
  141. setvbuf.c:    if ((stream->buffer != stdioTempBuffer)
  142. setvbuf.c:        && (stream->buffer != stdioStderrBuffer)
  143. setvbuf.c:        && (stream->buffer != NULL)
  144. setvbuf.c:        && !(stream->flags & STDIO_NOT_OUR_BUF)) {
  145. setvbuf.c:    free((char *) stream->buffer);
  146. setvbuf.c:    stream->flags &= ~(STDIO_LINEBUF|STDIO_NOT_OUR_BUF);
  147. setvbuf.c:    stream->flags |= STDIO_LINEBUF;
  148. setvbuf.c:    stream->buffer = (unsigned char *) buf;
  149. setvbuf.c:    stream->flags |= STDIO_NOT_OUR_BUF;
  150. setvbuf.c:    stream->buffer = (unsigned char *) malloc((unsigned) size);
  151. setvbuf.c:    stream->bufSize = size;
  152. setvbuf.c:    stream->lastAccess = stream->buffer - 1;
  153. setvbuf.c:    stream->readCount = 0;
  154. setvbuf.c:    stream->writeCount = 0;
  155. sprintf.c:    stream->writeCount = 5000;
  156. sscanf.c:    stream->readCount = 0;
  157. sscanf.c:    stream->flags |= STDIO_EOF;
  158. ungetc.c:    if ((stream->writeCount > 0) ||
  159. ungetc.c:        !(stream->flags & STDIO_READ) || (c == EOF) ||
  160. ungetc.c:        (stream->status != 0)) {
  161. ungetc.c:    if (stream->lastAccess < stream->buffer) {
  162. ungetc.c:    if (stream->readCount != 0) {
  163. ungetc.c:    stream->lastAccess = stream->buffer + stream->bufSize - 1;
  164. ungetc.c:    if (stream->lastAccess < stream->buffer) {
  165. ungetc.c:    stream->lastAccess = stream->buffer + stream->bufSize - 1;
  166. ungetc.c:    stream->readCount = 0;
  167. ungetc.c:    if (*(stream->lastAccess) != c) {
  168. ungetc.c:    *(stream->lastAccess) = c;
  169. ungetc.c:    stream->lastAccess--;
  170. ungetc.c:    stream->readCount++;
  171. ungetc.c:    stream->flags &= ~STDIO_EOF;
  172. vsnprintf.c:    stream->status = ENOMEM;
  173. vsprintf.c:    stream->writeCount = 5000;
  174.